package lib.bone.admin.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lib.bone.system.domain.vo.SysUserBasic;
import lombok.Data;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.util.Date;

@Data
@ApiModel("流程TASK视图对象")
public class FlowTaskVO {
    @ApiModelProperty(value = "流程任务ID",name = "id")
    String id;

    /**
     * 流程实例ID
     */
    @ApiModelProperty("流程实例ID")
    String flowWorkId;

    /**
     * 流程节点ID
     */
    @ApiModelProperty("流程节点ID")
    String flowNodeId;

    /**
     * 流程参数
     */
    @ApiModelProperty(value = "流程参数",name = "")
    String flowParam;

    /**
     * 任务名称
     */
    @ApiModelProperty("任务名称")
    String taskName;

    /**
     * 操作者用户ID
     */
    @ApiModelProperty("上次操作者")
    SysUserBasic operator;
    /**
     * 执行用户ID
     */
    @ApiModelProperty("执行者")
    SysUserBasic actUser;

    @ApiModelProperty("流程发起者")
    SysUserBasic initiator;

    /**
     * 任务状态
     */
    @ApiModelProperty(value = "任务状态",name = "新建CREATED->已完成FINISHED->过期EXPIRED->取消CANCEL->驳回REJECT")
    String taskStatus;

    /**
     * 业务类型
     */
    @ApiModelProperty("业务类型")
    String serviceType;

    /**
     * 关联的业务ID
     */
    @ApiModelProperty("业务ID")
    String serviceId;

    /**
     * 完成时间
     */
    @ApiModelProperty("完成时间")
    Date finishTime;

    /**
     * 任务状态
     */
    @ApiModelProperty(value = "任务状态",name = "0被关闭1正常")
    Integer status;

    @ApiModelProperty(value = "记录创建时间",name = "createdTime")
    private Date createdTime;

    @ApiModelProperty(value = "记录更新时间",name = "updatedTime")
    private Date updatedTime;
}
